package com.css.fxfzfxqh.modules.buildingIndividual.repository;

import com.css.fxfzfxqh.modules.buildingIndividual.entity.BuildingIndividualEntity;
import com.css.fxfzfxqh.modules.buildingIndividual.vo.ParamsVo;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.param.QueryByVersionParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.PopulationBuildingIndividualVO;

import java.util.List;
import java.util.Map;

public interface BuildingIndividualRepository {
    boolean save(BuildingIndividualEntity buildingIndividualEntity);

    //Map<String, Object> page(ParamsVo paramsVo, int curPage, int pageSize, String allRole, String provinceId);

    Map<String, Object> page(ParamsVo paramsVo, int curPage, int pageSize);

    Map<String, Object> getVersion(ParamsVo paramsVo, int curPage, int pageSize, String allRole, String provinceId);

    boolean update(BuildingIndividualEntity buildingIndividualEntity);

    boolean delete(String id);

    BuildingIndividualEntity findById(String id);

    List<BuildingIndividualEntity> findAll(String version);
    List<BuildingIndividualEntity> findAll1(QueryByVersionParam queryByVersionParam);

    List<PopulationBuildingIndividualVO> getAllWithGeomAndArea(String geom,String version,String province,String city,String county);

    List<BuildingIndividualEntity> getAllWithGeom(String houseData, String geom,String province,String city,String county);
    List<BuildingIndividualEntity> queryYwData(QueryByVersionParam queryByVersionParam);

    List<BuildingIndividualEntity> queryALLByInfluence(QueryByVersionParam queryByVersionParam);

    List<BuildingIndividualEntity> getAllByLD(QueryByVersionParam param);

    List<BuildingIndividualEntity> getAllByPGA(QueryByVersionParam param);

    List<BuildingIndividualEntity> queryDataByParam1(QueryByVersionParam queryByVersionParam);

    List<BuildingIndividualEntity> findByOnlyOneCondition(BuildingIndividualEntity buildingIndividualEntity);

    Map<String, Object> queryBuildingMap(ParamsVo paramsVo, String allRole, String provinceId);
}
